home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / g_man / cat3 / OpenGL-ftn / fglreferenceplanesgix.z / fglreferenceplanesgix
Text File  |  1998-10-20  |  8KB  |  133 lines

  1.  
  2.  
  3.  
  4. ffffggggllllRRRReeeeffffeeeerrrreeeennnncccceeeePPPPllllaaaannnneeeeSSSSGGGGIIIIXXXX((((3333GGGG))))      OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee      ffffggggllllRRRReeeeffffeeeerrrreeeennnncccceeeePPPPllllaaaannnneeeeSSSSGGGGIIIIXXXX((((3333GGGG))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ffffggggllllRRRReeeeffffeeeerrrreeeennnncccceeeePPPPllllaaaannnneeeeSSSSGGGGIIIIXXXX - define a reference plane for coplanar geometry
  10.  
  11. FFFFOOOORRRRTTTTRRRRAAAANNNN SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  12.      SUBROUTINE ffffggggllllRRRReeeeffffeeeerrrreeeennnncccceeeePPPPllllaaaannnneeeeSSSSGGGGIIIIXXXX( CHARACTER*8 _e_q_u_a_t_i_o_n )
  13.  
  14.  
  15. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  16.      _e_q_u_a_t_i_o_n  Specifies a four-element array containing the plane equation
  17.                coefficients of a reference plane which will be used to
  18.                generate depth values for pixel fragments.  The coefficients of
  19.                x, y, and z are the first three elements of the array,
  20.                respectively, and the constant term is the fourth.  The plane
  21.                equation is specified in object coordinates.  The default is
  22.                equivalent to (0,0,1,0) in window coordinates.
  23.  
  24. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  25.      The SSSSGGGGIIIIXXXX____rrrreeeeffffeeeerrrreeeennnncccceeee____ppppllllaaaannnneeee extension allows a group of coplanar primitives
  26.      to be rendered without depth-buffering artifacts.  This is accomplished
  27.      by generating depth values for all pixel fragments from a single
  28.      ``reference plane'' rather than from the primitives themselves.  This
  29.      ensures that all the primitives in the group will have exactly the same
  30.      depth value at any given sample point, no matter what imprecision may
  31.      exist in the original specification of the primitives or in the GL's
  32.      coordinate transformation process.  As a result, depth tests for equality
  33.      (GGGGLLLL____EEEEQQQQUUUUAAAALLLL, GGGGLLLL____LLLLEEEEQQQQUUUUAAAALLLL, GGGGLLLL____GGGGEEEEQQQQUUUUAAAALLLL) may be used with impunity.
  34.  
  35.      The process of generating depth values from the reference plane is
  36.      enabled by executing ffffggggllllEEEEnnnnaaaabbbblllleeee with argument GGGGLLLL____RRRREEEEFFFFEEEERRRREEEENNNNCCCCEEEE____PPPPLLLLAAAANNNNEEEE____SSSSGGGGIIIIXXXX.
  37.      The plane equation of the reference plane is specified with
  38.      ffffggggllllRRRReeeeffffeeeerrrreeeennnncccceeeePPPPllllaaaannnneeeeSSSSGGGGIIIIXXXX.
  39.  
  40.      _e_q_u_a_t_i_o_n must be an array with four elements:  the x coefficient, y
  41.      coefficient, z coefficient, and constant term of the reference plane's
  42.      equation, in that order.  The plane equation is specified in object
  43.      coordinates, and transformed by the transpose-adjoint of the object-to-
  44.      clip transformation in order to derive a plane equation in clip
  45.      coordinates.  The clip coordinates are transformed to window coordinates
  46.      when the reference plane is enabled.  Let the window-coordinate version
  47.      of the reference plane equation be ax+by+cz+d=0.  If the reference plane
  48.      is enabled, and a pixel fragment has window coordinates (x,y), then its z
  49.      coordinate will become -(d+ax+by)/c.
  50.  
  51.      If the generated z coordinate is outside the valid depth buffer range,
  52.      then the resulting depth value is undefined.  If the reference plane does
  53.      not intersect the viewing frustum, it is as if the default coefficients
  54.      (0,0,1,0) (in window coordinates) are used.
  55.  
  56. NNNNOOOOTTTTEEEESSSS
  57.      The reference plane coefficients specified by ffffggggllllRRRReeeeffffeeeerrrreeeennnncccceeeePPPPllllaaaannnneeeeSSSSGGGGIIIIXXXX are
  58.      in object coordinates, while the coefficients returned by ffffggggllllGGGGeeeettttDDDDoooouuuubbbblllleeeevvvv
  59.      with argument GGGGLLLL____RRRREEEEFFFFEEEERRRREEEENNNNCCCCEEEE____PPPPLLLLAAAANNNNEEEE____EEEEQQQQUUUUAAAATTTTIIIIOOOONNNN____SSSSGGGGIIIIXXXX are in clip coordinates.
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ffffggggllllRRRReeeeffffeeeerrrreeeennnncccceeeePPPPllllaaaannnneeeeSSSSGGGGIIIIXXXX((((3333GGGG))))      OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee      ffffggggllllRRRReeeeffffeeeerrrreeeennnncccceeeePPPPllllaaaannnneeeeSSSSGGGGIIIIXXXX((((3333GGGG))))
  71.  
  72.  
  73.  
  74.      ffffggggllllRRRReeeeffffeeeerrrreeeennnncccceeeePPPPllllaaaannnneeeeSSSSGGGGIIIIXXXX is part of the SSSSGGGGIIIIXXXX____rrrreeeeffffeeeerrrreeeennnncccceeee____ppppllllaaaannnneeee extension, not
  75.      part of the core GL command set.  If GGGGLLLL____SSSSGGGGIIIIXXXX____rrrreeeeffffeeeerrrreeeennnncccceeee____ppppllllaaaannnneeee is included
  76.      in the string returned by ffffggggllllGGGGeeeettttSSSSttttrrrriiiinnnngggg when called with argument
  77.      GGGGLLLL____EEEEXXXXTTTTEEEENNNNSSSSIIIIOOOONNNNSSSS, extension SSSSGGGGIIIIXXXX____rrrreeeeffffeeeerrrreeeennnncccceeee____ppppllllaaaannnneeee is supported by the
  78.      connection.  See ffffggggllllIIIInnnnttttrrrroooo for more information about using extensions.
  79.  
  80. EEEERRRRRRRROOOORRRRSSSS
  81.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if ffffggggllllRRRReeeeffffeeeerrrreeeennnncccceeeePPPPllllaaaannnneeeeSSSSGGGGIIIIXXXX is executed
  82.      between the execution of ffffggggllllBBBBeeeeggggiiiinnnn and the corresponding execution of
  83.      ffffggggllllEEEEnnnndddd.
  84.  
  85. AAAASSSSSSSSOOOOCCCCIIIIAAAATTTTEEEEDDDD GGGGEEEETTTTSSSS
  86.      ffffggggllllGGGGeeeettttDDDDoooouuuubbbblllleeeevvvv with argument GGGGLLLL____RRRREEEEFFFFEEEERRRREEEENNNNCCCCEEEE____PPPPLLLLAAAANNNNEEEE____EEEEQQQQUUUUAAAATTTTIIIIOOOONNNN____SSSSGGGGIIIIXXXX
  87.  
  88.  
  89. MMMMAAAACCCCHHHHIIIINNNNEEEE DDDDEEEEPPPPEEEENNNNDDDDEEEENNNNCCCCIIIIEEEESSSS
  90.      SSSSGGGGIIIIXXXX____rrrreeeeffffeeeerrrreeeennnncccceeee____ppppllllaaaannnneeee is supported only on InfiniteReality systems.
  91.  
  92.  
  93. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  94.      ffffggggllllEEEEnnnnaaaabbbblllleeee, ffffggggllllPPPPoooollllyyyyggggoooonnnnOOOOffffffffsssseeeettttEEEEXXXXTTTT
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.